<?php

namespace Platform\Libs;

include_once PLATFROM_LIB_PATH . '/WxMiniCryp/wxBizMsgCrypt.php';

class WXBizDataCryptClient {

    public $WXBizDataCrypt;

    /**
     * 构造函数
     * @param $sessionKey string 用户在小程序登录后获取的会话密钥
     * @param $appid string 小程序的appid
     */
    public function __construct($appid, $sessionKey) {
        $this->WXBizDataCrypt = new \WXBizDataCrypt($appid, $sessionKey);
    }

    /**
     * 检验数据的真实性，并且获取解密后的明文.
     * @param $encryptedData string 加密的用户数据
     * @param $iv string 与用户数据一同返回的初始向量
     *
     * @return int 成功0，失败返回对应的错误码 or $data string 解密后的原文
     */
    public function decryptData($encryptedData, $iv) {
        $data = "";
        $errCode = $this->WXBizDataCrypt->decryptData($encryptedData, $iv, $data);
        if ($errCode == 0) {
            return $data;
        } else {
           return false;
        }
    }

}
